本发明实施例公开了数据发送方法、系统及设备,应用于通信技术领域。本发明实施例的数据发送方法是第一节点主动发送信道信息请求命令给第二节点或其他节点,请求获得第二节点所在信道的信息,当接收到包含有第二节点所在主信道和/或当前所在信道的信息的,信道信息回复命令,第一节点按照接收到的第二节点所在信道的信息发送数据给第二节点。这样当第一节点在发送数据给第二节点的过程中,如果出现第二节点切换到其他信道而没有及时通知第一节点等情况时,第一节点可以主动请求获得第二节点的信道信息,减少在第一节点发送数据第一节点的过程的时间,提高数据传输的时效性。
1.一种数据发送方法,其特征在于,包括:在第一节点发送数据给第二节点的过程中,所述第一节点主动发送信道信息请求命令给第二节点或其它节点,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;所述第一节点接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;所述第一节点根据所述信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,切换到所述第二节点所在主信道或当前所在信道,并发送数据给所述第二节点。
2.如权利要求1所述的方法,其特征在于,所述发送信道信息请求命令具体包括:将所述信道信息请求命令单播给所述第二节点;或将所述信道信息请求命令单播给所述第二节点以外的节点,或广播给所述第一节点一跳范围内的节点。
3.如权利要求1所述的方法,其特征在于,若所述信道信息回复命令中包括所述第二节点所在主信道的信息和所述第二节点当前所在信道的信息,则所述根据所述信道信息回复命令中第二节点所在主信道的信息和所述第二节点当前所在信道的信息,发送数据给所述第二节点具体包括:确定所述第二节点当前所在信道和主信道一致时,根据所述第二节点当前所在信道的信息或主信道的信息,切换到所述第二节点主信道发送数据;确定所述第二节点当前所在信道和主信道不一致时,根据所述第二节点当前所在信道的信息,切换到所述第二节点当前信道发送数据。
4.如权利要求1所述的方法,其特征在于,所述发送信道信息请求命令具体包括:第一节点发送信道信息请求命令;在所述信道信息请求命令中还包括:所述第一节点所在主信道的信息,以使得接收所述信道信息请求命令的节点储存或更新所述第一节点所在主信息的信息。
5.如权利要求1所述的方法,其特征在于,若接收到的所述信道信息回复命令中还包括:所述第二节点所在主信道的新鲜度信息;则所述方法还包括:所述第一节点更新本地储存的所述第二节点所在主信道的新鲜度信息。
6.如权利要求5所述的方法,其特征在于,所述新鲜度信息包括信息更新序列或时间;所述方法还包括:所述第一节点更新所述第一节点所在主信道的信息更新序列,将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。
7.如权利要求1至6任一项所述的方法,其特征在于,所述信道信息请求命令具体包括:媒体访问控制MAC层报文头、命令帧标识符及被请求节点地址;所述信道信息回复命令具体包括:媒体访问控制MAC层报文头、命令帧标识符、被请求节点地址及被请求节点信道;其中所述媒体访问控制MAC层报文头指示源节点和目的地址,所述命令帧标识符指示命令的类型,所述被请求节点地址表示所述第二节点的地址;所述被请求节点信道表示所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息。
8.如权利要求7所述的方法,其特征在于,所述信道信息请求命令和所述信道信息回复命令还包括地址模式,所述地址模式用于指示被请求节点地址的长度。
9.一种数据发送方法,其特征在于,包括:在第一节点发送数据给第二节点的过程中,所述第二节点接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;所述第二节点将所述信道信息请求命令中包含的第二节点的地址信息和所述第二节点自身的地址信息比较,若相匹配,则将所述第二节点所在主信道的信息,和/或所述第二节点当前所在信道的信息添加到信道信息回复命令;所述第二节点将所述信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的第二节点所在主信道的信息,和/或所述第二节点当前所在信道的信息,切换到所述第二节点所在主信道或当前所在信道,并进行数据的发送。
10.如权利要求9所述的方法,其特征在于,若所述信道信息请求命令还包括所述第一节点所在主信道的信息,则所述方法还包括:所述第二节点储存所述第一节点所在主信道的信息,或更新本地储存的所述第一节点所在主信道的信息。
11.如权利要求9所述的方法,其特征在于,所述将所述信道信息回复命令发送给所述第一节点之前还包括:所述第二节点将所述第二节点所在主信道的新鲜度信息添加到所述信道信息回复命令中,以使得所述第一节点更新本地储存的所述第二节点所在主信道的新鲜度信息。
12.如权利要求11所述的方法,其特征在于,所述新鲜度信息包括信息更新序列或时间;所述方法还包括:所述第二节点更新所述第二节点所在主信道的信息更新序列,将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。
13.如权利要求9至12任一项所述的方法,其特征在于,所述信道信息请求命令具体包括:媒体访问控制MAC层报文头、命令帧标识符、地址模式及被请求节点地址;所述信道信息回复命令具体包括:媒体访问控制MAC层报文头、命令帧标识符、地址模式、被请求节点地址及被请求节点信道;其中所述媒体访问控制MAC层报文头指示源节点和目的地址,所述命令帧标识符指示命令的类型,所述被请求节点地址表示所述第二节点的地址;所述被请求节点信道表示所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息。
14.一种数据发送方法,其特征在于,包括:在第一节点发送数据给第二节点的过程中,接收节点接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;所述接收节点将所述第二节点的地址信息和所述接收节点的地址信息比较,若不相匹配,确定本地储存的节点信息中包含所述第二节点的信息,将所述第二节点所在主信道的信息添加到信道信息回复命令中;所述接收节点将所述信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的第二节点所在主信道的信息,切换到所述第二节点所在主信道,并进行数据的发送。
15.如权利要求14所述的方法,其特征在于,所述将所述信道信息回复命令发送给所述第一节点之前还包括:所述接收节点将所述第二节点所在主信道的新鲜度信息添加到所述信道信息回复命令中,以使得所述第一节点更新本地储存的所述第二节点所在主信道的新鲜度信息。
16.如权利要求15所述的方法,其特征在于,所述新鲜度信息包括信息更新序列或时间,所述方法还包括:所述接收节点更新所述第二节点所在主信道的信息更新序列,将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。
17.一种网络节点,其特征在于,包括:请求命令发送单元,用于在所述网络节点发送数据给第二节点的过程中,主动发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;回复命令接收单元,用于接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;数据发送单元,用于根据所述回复命令接收单元接收的信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,切换到所述第二节点所在主信道或当前所在信道,并发送数据给所述第二节点。
18.如权利要求17所述的网络节点,其特征在于,还包括:信息更新单元,用于当所述回复命令接收单元接收到的信道信息回复命令中还包括所述第二节点所在主信道的新鲜度信息,更新储存的第二节点所在主信道的新鲜度信息,所述新鲜度信息包括信息更新序列或时间。
19.如权利要求18所述的网络节点,其特征在于,还包括:第一更新发送单元,用于更新该网络节点所在主信道的信息更新序列;将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。
20.一种网络节点,其特征在于,包括:第一请求命令接收单元,用于在第一节点发送数据给所述网络节点的过程中,接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;第一比较添加单元,用于将所述第一请求命令接收单元接收的信道信息请求命令中的第二节点的地址信息和网络节点的地址信息比较,若相匹配时,则将所述网络节点所在主信道的信息和/或所述网络节点当前所在信道的信息添加到信道信息回复命令;第一回复命令发送单元,用于将所述第一比较添加单元添加后的信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的所述网络节点所在主信道的信息和/或所述网络节点当前所在信道的信息,切换到所述网络节点所在主信道或当前所在信道,并进行数据的发送。
21.如权利要求20所述的网络节点,其特征在于,还包括:第一接收处理单元,用于当所述第一请求接收单元接收的信道信息请求命令中还包括第一节点所在主信道的信息,储存所述第一节点所在主信道的信息,或更新本地储存的第一节点所在主信道的信息。
22.如权利要求20所述的网络节点,其特征在于,还包括:添加单元,用于将所述第二节点所在主信道的新鲜度信息添加到所述信道信息回复命令中,以使得所述第一节点更新本地储存的所述第二节点所在主信道的新鲜度信息。
23.如权利要求22所述网络节点,其特征在于,还包括:第二更新发送单元,用于当所述新鲜度信息包括信息更新序列时,更新该网络节点所在主信道的信息更新序列,将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。
24.一种网络节点,其特征在于,还包括:第二请求命令接收单元,用于在第一节点发送数据给所述网络节点的过程中,接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;第二比较单元,用于将所述第二请求命令接收单元接收的信道信息请求命令中的第二节点的地址信息和网络节点的地址信息比较;第二判断添加单元,用于当所述第二比较单元比较的所述第二节点的地址信息和所述网络节点的地址信息不相匹配,确定本地储存的节点信息中包含所述第二节点的信息,将所述第二节点所在主信道的信息添加到信道信息回复命令中;第二回复命令发送单元,用于将所述第二判断添加单元添加后的信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的所述第二节点所在主信道的信息,切换到所述第二节点所在主信道,并进行数据的发送。
25.如权利要求24所述的网络节点,其特征在于,还包括:第二接收处理单元,用于当所述第二请求命令接收单元接收的信道信息请求命令中还包括第一节点所在主信道的信息,储存所述第一节点所在主信道的信息,或更新本地储存的第一节点所在主信道的信息。
26.一种数据发送系统,其特征在于,所述系统包括第一节点以及与所述第一节点以可通信的方式连接的第二节点,所述第一节点,用于在第一节点发送数据给第二节点的过程中,主动发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;根据所述信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,切换到所述第二节点所在主信道或当前所在信道,并发送数据给所述第二节点。
技术领域本发明涉及通信技术领域,特别涉及数据发送方法、系统及设备。
背景技术在网络的自适应多信道系统中,每个节点加入网络时均按照一定的信道选择准则选择一个主信道,之后根据一定规律周期性地发送多信道通知命令(multi_channelxa0helloxa0command)给一跳之内的其他信道中节点,用来通告其它节点自己所在主信道的信息;且当节点要向其它信道的节点发送数据时,需要跳转到接收节点所在主信道进行发送。当第一节点切换到第二节点所在信道,向第二节点发送数据时,有可能会出现以下情况:第二节点暂时不在自己所在主信道;或第二节点已将主信道切换到其它信道,而第一节点尚未及时获取第二节点当前所在主信道的信息;或第二节点移动到第一节点的一跳传输范围外,这样第二节点就无法接收到第一节点发送的数据。而第一节点在规定时间内收不到所发送数据的确认包,就会重发数据包,当超过规定的重发次数后还没有收到所述发送数据的确认包,则第一节点的媒体访问控制(Mediaxa0Accessxa0Control,MAC)层会向上层汇报该邻居节点丢失(neighborxa0lost,NBR_LOST),直到接收到第二节点主动发送的包含第二节点所在主信道的信息后,第一节点才能再次发送数据。这样从发送数据当接收数据的时间较长,时效性低。
发明内容本发明实施例提供数据发送方法、系统及设备,减少数据发送的时间,提高数据传输的时效性。本发明实施例提供的一种数据发送方法,包括:发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;根据所述信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,发送数据给所述第二节点。本发明实施例提供的一种数据发送方法,包括:接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;将所述第二节点的地址信息和接收节点的地址信息比较,若相匹配,则将所述第二节点所在主信道的信息,和/或所述第二节点当前所在信道的信息添加到信道信息回复命令;将所述信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的接收节点所在主信道的信息,和/或所述接收节点当前所在信道的信息进行数据的发送。本发明实施例提供的一种数据发送方法,包括:接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;将所述第二节点的地址信息和接收节点的地址信息比较,若不相匹配,确定本地储存的节点信息中包含所述第二节点的信息,将所述第二节点所在主信道的信息添加到信道信息回复命令中。将所述信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的接收节点所在主信道的信息进行数据的发送。本发明实施例提供的一种网络节点,包括:请求命令发送单元,用于发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;回复命令接收单元,用于接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;数据发送单元,用于根据所述回复命令接收单元接收的信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,发送数据给所述第二节点。本发明实施例提供的一种网络节点,包括:第一请求命令接收单元,用于接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;第一比较添加单元,用于将所述第一请求命令接收单元接收的信道信息请求命令中的第二节点的地址信息和网络节点的地址信息比较,若相匹配时,则将所述网络节点所在主信道的信息和/或所述网络节点当前所在信道的信息添加到信道信息回复命令;第一回复命令发送单元,用于将所述第一比较添加单元添加后的信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的所述网络节点所在主信道的信息和/或所述网络节点当前所在信道的信息进行数据的发送。本发明实施例提供的一种网络节点,还包括:第二请求命令接收单元,用于接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;第二比较单元,用于将所述第二请求命令接收单元接收的信道信息请求命令中的第二节点的地址信息和网络节点的地址信息比较;第二判断添加单元,用于当所述第二比较单元比较的所述第二节点的地址信息和所述网络节点的地址信息不相匹配,判断本地储存的节点信息中是否包含所述第二节点的信息,若是,将所述第二节点所在主信道的信息添加到信道信息回复命令中;第二回复命令发送单元,用于将所述第二判断添加单元添加后的信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的所述网络节点所在主信道的信息和/或所述网络节点当前所在信道的信息进行数据的发送。本发明实施例提供的一种数据发送系统,所述系统包括第一节点和以及以通信的方式与所述第一节点连接的第二节点,所述第一节点,用于发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;根据所述信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,发送数据给所述第二节点。本发明实施例的数据发送方法是第一节点主动发送信道信息请求命令给第二节点或其他节点,请求获得第二节点所在信道的信息,当接收到包含有第二节点所在主信道和/或当前所在信道的信息的信道信息回复命令,第一节点按照接收到的第二节点所在信道的信息发送数据给第二节点。这样当第一节点在发送数据给第二节点的过程中,如果出现第二节点切换到其他信道而没有及时通知第一节点等情况时,第一节点可以主动请求获得第二节点的信道信息,和现有技术中第二节点的信道信息是由第二节点通知给第一节点相比,能减少在第一节点发送数据第一节点的过程中,由于第二节点未收到第二节点的确认包而等待的时间,提高数据传输的时效性。
附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明方法实施例一提供的数据发送方法的流程图;图2是本发明方法实施例二提供的数据发送方法的流程图;图3是本发明方法实施例三提供的数据发送方法的流程图;图4是本发明方法实施例四提供的数据发送方法的流程图;图5是本发明设备实施例一提供的网络节点的结构示意图;图6是本发明设备实施例二提供的网络节点的结构示意图;图7是本发明设备实施例三提供的网络节点的结构示意图;图8是本发明设备实施例四提供的网络节点的结构示意图;图9是本发明设备实施例五提供的网络节点的结构示意图;图10是本发明系统实施例提供的数据发送系统的结构示意图。
具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。方法实施例一一种数据发送方法,流程图如图1所示,包括:步骤101、第一节点的MAC层发送信道信息请求命令(channelxa0informationxa0request,CIReq),所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;信道信息请求命令具体包括以下信元:MAC层报文头(MHRxa0fields)、命令帧标识符(Commandxa0f
ramexa0Identifier)及被请求节点地址(intendedxa0address),其中MAC层报文头需要指示发送该信道信息请求命令的源节点和目的节点;命令帧标识符是指示命令的类型,如果是0x10,表示该命令是请求命令,如果是0x11,表示该命令是回复命令;信道信息请求命令中还可以包括信元“地址模式(addressingxa0mode)”,表示请求节点地址的长度;被请求节点地址表示第二节点的地址。这里第二节点是接收第一节点发送数据的节点,而信道信息请求命令可以单播给第二节点;或单播给第二节点以外的节点,或广播给第一节点一跳范围内的节点。当信道信息请求命令单播或广播给第二节点时,此时在MAC层报文头中已经包含了源节点地址和目的节点地址的信息,而被请求的节点和目的节点是同一个即为第二节点,则在被请求节点地址中可以不用再次添加第二节点的地址,此时被请求节点地址为0,地址模式用来指示被请求节点地址的长度,也为0。第一节点需要根据自身储存的第二节点所在主信道的信息,切换到第二节点所在主信道,进行发送信道信息请求命令,当第一节点没有收到第二节点的回应,这时第二节点可能不在自己的主信道,第一节点可以切换到自己知道的其他信道,发送信道信息请求命令,当第二节点接收到信道信息请求命令就会进行回复。当信道信息请求命令单播或者广播给第二节点以外的节点,此时在MAC层报文头中已经包含了源节点地址和目的节点地址的信息,而被请求的节点即第二节点和目的节点不同,也和源节点都不相同,此时在被请求节点地址中需要添加第二节点的地址信息,可以为16比特短地址或是64比特扩展地址,而地址模式的值相应地为2或者3。第一节点需要根据本地储存的一跳范围内的节点所在主信道的信息,切换到相应节点所在主信道,进行发送信道信息请求命令。下表1中表示出第一节点发送的信道信息请求命令中内容的字节数:
字节(Octets):7
1
1
0/2/8
MAC层报文头
命令帧标识符
地址模式
被请求节点地址
xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0表1步骤102、第一节点的MAC层接收信道信息回复命令(channelxa0informationxa0reply,CIRep),所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;信道信息回复命令具体包括以下信元:MAC层报文头、命令帧标识符、被请求节点地址及被请求节点信道,其中被请求节点信道用来表示第一节点所请求的第二节点所在主信道的信息和/或第二节点当前所在信道的信息;其中表示第二节点主信道的信息时,被请求节点信道具体可以是被请求节点主信道;在表示第二节点当前所在信道的信息时,被请求节点信道具体可以是信元“被请求节点临时所在信道”;在表示二者信息时,被请求节点信道可以包括子信元“被请求节点主信道”和子信元“被请求节点临时所在信道”。在信道信息回复命令中还可以包括地址模式。下表2中表示出第一节点接收的信道信息回复命令的内容字节数:
Octets:7
1
1
0/2/8
1
MAC层报文
头
命令帧标识
符
地址模式
被请求节点
地址
被请求节点主
信道
xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0表2步骤103、第一节点的MAC层根据所述信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,发送数据给所述第二节点。若信道信息回复命令中包括的第二节点所在主信道的信息,和第一节点在本地保存的第二节点所在主信道的信息不一致时,第一节点则更新本地储存,更新为信道信息回复命令中所包括的信息。第一节点需要根据接收到最新的第二节点所在主信道的信息,切换到第二节点所在主信道,将数据发送给第二节点;如果信道信息回复命令中包括第二节点当前所在信道的信息,则第一节点切换到第二节点当前所在信道,发送数据;如果信道信息回复命令中包括第二节点当前所在信道的信息和所在主信道的信息,如果第一节点确定第二节点当前所在信道和主信道一致时,根据第二节点当前所在信道的信息或主信道的信息,切换到第二节点主信道发送数据,如果不一致,则根据第二节点当前所在信道的信息,切换到第二节点当前所在信道发送数据。需要说明的是,本发明实施例中,在步骤102第一节点接收到信道信息回复命令后,获得第二节点所在主信道信息等信息之后,如果第一节点MAC层本地保存有发送给第二节点的数据,那么可以立即执行步骤103即发送数据给第二节点;或等待收到上层发送的数据发送指示后,发送数据给第二节点;或根据第一节点预先设定的数据发送条件进行发送。如果第一节点MAC层本地没有保存发送给第二节点的数据,那么可以等待上层有发送给第二节点的数据时,再执行步骤103。本发明实施例的数据发送方法是第一节点主动发送信道信息请求命令给第二节点或其他节点,请求获得第二节点所在信道的信息,当接收到包含有第二节点所在主信道和/或当前所在信道的信息的信道信息回复命令,第一节点按照接收到的第二节点所在信道的信息发送数据给第二节点。这样当第一节点在发送数据给第二节点的过程中,如果出现第二节点切换到其他信道而没有及时通知第一节点等情况时,第一节点可以主动请求获得第二节点的信道信息,和现有技术中第二节点的信道信息是由第二节点通知给第一节点相比,能减少在第一节点发送数据第一节点的过程中,由于第二节点未收到第二节点的确认包而等待的时间,提高数据传输的时效性。下面以具体的实现来说明本发明实施例的数据发送方法、系统及设备:方法实施例二一种数据发送方法,流程图如图2所示,包括:步骤201、第一节点的MAC层发送信道信息请求命令,信道信息请求命令中包括第二节点的地址信息,请求获得第二节点所在主信道的信息;可以理解,第一节点可以将信道信息请求命令单播给第二节点;或单播给第二节点以外的节点,或广播给第一节点一跳范围内的节点。步骤202、第二节点接收到信道信息请求命令,将其中包含的第二节点的地址信息和第二节点自己的地址信息比较,若相匹配,则执行步骤203;步骤203、第二节点将自己所在主信道的信息,和/或所述第二节点当前所在信道的信息添加到信道信息回复命令,将信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的接收节点所在主信道的信息,和/或所述接收节点当前所在信道的信息进行数据的发送;步骤204、第一节点接收信道信息回复命令,根据其中包含的第二节点所在主信道的信息和/或第二节点当前所在信道的信息,发送数据。如果第一节点接收到的信道信息回复命令的被请求节点主信道中包含的第二节点所在主信道的信息,与本地维护的第二节点所在主信道的信息不同,则更新本地维护的第二节点信道信息,且根据更新后的信息进行数据的发送;如果信道信息回复命令中包括第二节点当前所在信道的信息,如果确定当前所在信道和第二节点所在主信道不一致,则第一节点在发送数据时,根据当前所在信道进行发送数据。方法实施例三一种数据发送方法,流程图如图3所示,包括:步骤301、第一节点的MAC层发送信道信息请求命令,信道信息请求命令中包括第二节点的地址信息,请求获得第二节点所在主信道的信息;可以理解,第一节点可以将信道信息请求命令单播给第二节点;或单播给第二节点以外的节点,或广播给第一节点一跳范围内的节点。步骤302、接收节点接收到信道信息请求命令,将其中包含的第二节点的地址信息和接收节点自己的地址信息比较,若不相匹配,则执行步骤303;步骤303、接收节点判断本地储存的节点信息中是否包含所述第二节点的信息,若是,则执行步骤304;若否,则结束流程;步骤304、接收节点将所述第二节点所在主信道的信息添加到信道信息回复命令中,将信道信息回复命令发送给所述第一节点,以进行数据的发送;步骤305、第一节点接收信道信息回复命令,根据其中包含的第二节点所在主信道的信息发送数据。如果第一节点接收到的信道信息回复命令的被请求节点主信道中包含的第二节点所在主信道的信息,与本地维护的第二节点所在主信道的信息不同,则更新本地维护的第二节点信道信息,且根据更新后的信息进行数据的发送。方法实施例四一种数据发送方法,流程图如图4所示,包括:步骤401、第一节点的MAC层发送信道信息请求命令,信道信息请求命令中包括第二节点的地址信息,请求获得第二节点所在主信道的信息;可以理解,第一节点可以将信道信息请求命令单播给第二节点;或单播给第二节点以外的节点,或广播给第一节点一跳范围内的节点。步骤402、接收节点接收到信道信息请求命令,将其中包含的第二节点的地址信息和该接收节点的地址信息比较,若相匹配,则这里的接收节点即为第二节点,执行步骤403;若不相匹配,则执行步骤404;步骤403、第二节点将该第二节点所在主信道的信息,和/或所述第二节点当前所在信道的信息添加到信道信息回复命令,将信道信息回复命令发送给所述第一节点,以进行数据的发送;将第二节点将所在主信道的信息添加到信道信息回复命令中被请求节点主信道的信元中,此时在信道信息回复命令中,被请求节点地址与MAC层报头中源地址相同,设为0,则地址模式也为0;可以理解,如果该接收节点不在自己的主信道,在信道信息回复命令中被请求节点信道具体可以是“被请求节点临时所在信道”的信元,在该信元中添加该接收节点当前所在信道的信息,还可以在信道信息回复命令中添加该接收节点从当前所在信道切换回自己主信道的时间等信息。步骤404、接收节点继续判断本地储存的节点信息中是否包含所述第二节点的信息,若是,则执行步骤405;可以理解,若判断为不是时,则可以在信道信息回复命令中指示不存在第二节点的信息,具体地,可以将被请求节点主信道的值设置为0xff;或者可以不向第一节点返回信道信息回复命令。步骤405、接收节点将所述第二节点所在主信道的信息添加到信道信息回复命令中,将信道信息回复命令发送给所述第一节点,以进行数据的发送。将第二节点所在主信道的信息添加到信道信息回复命令中被请求节点主信道的信元中,此时在信道信息回复命令中,当被请求节点地址为16比特短地址或是64比特扩展地址,而地址模式相应地为2或者3;在信道信息回复命令中还可以增加“发送节点主信道”的信元,在该信元下添加该接收节点所在主信道的信息,这样第一节点接收到信道信息回复命令后,就可以实时得知该接收节点主信道的信息。步骤406、第一节点接收信道信息回复命令,根据其中包含的第二节点所在主信道的信息和/或第二节点当前所在信道的信息,发送数据。如果第一节点接收到的信道信息回复命令的被请求节点主信道中包含的第二节点所在主信道的信息,与本地维护的第二节点所在主信道的信息不同,则更新本地维护的第二节点信道信息,且根据更新后的信息进行数据的发送;如果信道信息回复命令中包括第二节点当前所在信道的信息,如果确定当前所在信道和第二节点所在主信道不一致,则第一节点在发送数据时,根据当前所在信道进行发送数据;如果信道回复命令中包括第二节点从当前所在信道切换回主信道的时间信息,则第一节点可以根据这个时间信息,在这个时间之后,并根据第二节点所在主信道发送数据;如果信道信息回复命令中包括第二节点以外节点所在主信道的信息,则第一节点还会存储或更新自身储存的第二节点以外节点所在主信道的信息。可以理解,如果在信道切换时间(Chxa0Switchxa0Duration)内,未收到信道信息回复命令,则信道请求过程结束,第一节点的MAC层向上层汇报邻居节点丢失(neighborxa0lost,NBR_LOST),表示被请求节点可能已经不在第一节点的一跳范围之内。需要说明的是,第一节点的MAC层在对第二节点所在主信道的信息的请求,可以是在该节点MAC的上层发送信道信息请求命令的原语给MAC层后进行,由MAC层根据原语中的信息构建的信道信息请求命令,其中其原语中包括:发送数据的第一节点的地址即源地址,目的地址,被请求节点的地址即接收数据的第二节点,还可以包括地址模式,信道切换时间等信息。而第一节点MAC层的上层可以在第一节点决定要发送数据给第二节点时,发送信道信息请求命令的原语给MAC层;也可以在第一节点MAC层给第二节点MAC层发送数据的过程中,第一节点MAC层在规定时间内没有收到第二节点的接收确认包(ACK),向上层返回未收到接收确认包(NO_ACK),这时,由上层向MAC层发送信道信息请求命令的原语。具体地,在第一节点发送数据给第二节点的过程中,第一节点的上层先发送媒体访问控制公共部分子层(MACxa0commonxa0partxa0sublayer,MCPS)数据请求给MAC层,其中包含载波侦听多路访问/冲突避免参数(CSMA-CA)即退避指数(backoffxa0exponent,BE)和数据重传次数(f
ramexa0Retries),分别决定MAC层在重新发送数据前随机退避的时间,和重发次数;第一节点的MAC层根据MCPS数据请求发送数据给第二节点,当MAC层在规定时间内未收到第二节点的ACK,向上层返回NO_ACK;这时上层可以重新设置BE值高于一个门限值,设置f
ramexa0Retries,并通过媒体访问控制管理实体设置请求(MLME-SETxa0requst)发送给MAC层,请求MAC层更新设置CSMA-CA参数;也可以发送信道信息请求命令原语给MAC层;上层对MAC层CSMA-CA参数重新设置后,继续发送MCPS数据请求给MAC层,当MAC层发送数据后,没有收到第二节点的ACK,向上层返回NO_ACK,上层可以发送信道信息请求命令原语给MAC层。在一个具体的实施例中,步骤201中第一节点在发送的信道信息请求命令中还可以包括:第一节点自身所在主信道的信息,具体地,在信道信息请求命令中还增加新的信元“发送节点的主信道(senderxa0designatedxa0channelxa0index)”,在该信元下添加第一节点自身所在主信道的信息。第二节点或其他节点在接收到信道信息请求命令后,可以储存第一节点所在主信道的信息,或更新自身储存的第一节点所在主信道的信息。这样使得其他节点也可以实时知道第一节点当前所在信道的信息,如果正好有其他节点发送数据给第一节点时,可以不用请求第一节点所在主信道的信息,即可直接发送数据给第一节点,节省了数据传输时间。在另一个具体的实施例中,步骤403和步骤405中接收节点在发送给第一节点的信道信息回复命令中,还可以包括第二节点所在主信道的新鲜度信息,这里的新鲜度信息可以包括信息更新序列等,具体地,在信道信息回复命令中还可以增加信元“信息更新序列(updatexa0sequence)”,下表3中表示出添加信息更新序列后的信道信息回复命令的字节数:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0表3接收节点在“信息更新序列”的信元下添加第二节点所在信道的信息更新序列,并发送给第一节点,第一节点接收到该信道信息回复命令后,除了进行上述步骤406的操作外,还需要更新本地储存的第二节点所在主信道的新鲜度信息;如果接收节点不是第二节点,且在本地储存的信息中也没有找到第二节点的信息,则将信息更新序列设置为0xff,并发送给第一节点。可以理解,这里提到的信道的新鲜度信息是表示节点切换到当前所在主信道的新鲜程度及时间,可以用时间、信息更新序列等表示,其中用信息更新序列来表示主信道的新鲜程度,这种方法计算简单,且易于实现,以下以采用信息更新序列表示为例说明:当第一节点加入网络后,经过信道选择算法选定一个主信道,这时将信息更新序列设置为初始值,并添加到多信道通知命令中,发送给第一节点一跳范围内的节点,具体地,在多信道通知命令中增加信元“信息更新序列”,在该新增的信元下添加第一节点所在主信道的更新序列;这些节点接收到多信道通知命令后,将存储第一节点所在信道的信息更新序列的值。而第一节点会周期性地发送多信道通知命令,第一节点可以在更新第一节点所在主信道的信息更新序列如在当前信息更新序列的基础上加1后,将更新后的信息更新序列添加到多信道通知命令中,并发送。设备实施例一一种网络节点,本实施例中的网络节点是发送数据的第一节点,结构示意图如图5所示,包括:请求命令发送单元10,用于发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;请求命令发送单元10可以将所述信道信息请求命令单播给所述第二节点;或,将所述信道信息请求命令单播或广播给所述第二节点之外的节点。信道信息请求命令具体包括:媒体访问控制MAC层报文头、命令帧标识符、地址模式及被请求节点地址。回复命令接收单元11,用于接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;信道信息回复命令具体包括:媒体访问控制MAC层报文头、命令帧标识符、地址模式、被请求节点地址及被请求节点主信道。数据发送单元12,用于根据所述回复命令接收单元11接收的信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,发送数据给所述第二节点。若信道信息回复命令中包括的第二节点所在主信道的信息,数据发送单元12则根据接收到最新的第二节点所在主信道的信息,切换到第二节点所在主信道,将数据发送给第二节点;如果信道信息回复命令中包括第二节点当前所在信道的信息,则数据发送单元12切换到第二节点当前所在信道,发送数据;如果信道信息回复命令中包括第二节点当前所在信道的信息和所在主信道的信息,如果数据发送单元12确定第二节点当前所在信道和主信道一致时,根据第二节点当前所在信道的信息或主信道的信息,切换到第二节点主信道发送数据,如果不一致,则根据第二节点当前所在信道的信息,切换到第二节点当前所在信道发送数据。本发明实施例的网络节点中,请求命令发送单元10主动发送信道信息请求命令给第二节点或其他节点,请求获得第二节点所在信道的信息,当回复命令接收单元11接收到包含有第二节点所在主信道和/或当前所在信道的信息的,信道信息回复命令,数据发送单元12按照接收到的第二节点所在信道的信息发送数据给第二节点。这样当网络节点在发送数据给第二节点的过程中,如果出现第二节点切换到其他信道而没有及时通知第一节点等情况时,第一节点可以主动请求获得第二节点的信道信息,从而提高数据传输的时效性。设备实施例二一种网络节点,本实施例的网络节点是在设备实施例一中网络节点的基础上增加了信息更新单元13和第一更新发送单元14,结构示意图如图6所示,其中:信息更新单元13,用于当所述回复命令接收单元11接收到的信道信息回复命令中还包括:第二节点所在主信道的新鲜度信息,则更新本地储存的第二节点所在主信道的新鲜度信息;所述新鲜度信息包括信息更新序列或时间;第一更新发送单元14,用于更新该网络节点所在主信道的信息更新序列;将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。可以理解,这里提到的信道的新鲜度信息是表示节点切换到当前所在主信道的新鲜程度及时间,可以用时间、信息更新序列等表示。本实施例中的网络节点,通过第一更新发送单元14将该网络节点在主信道的新鲜度信息即信息更新序列,通过多信道通知消息通知给其他节点,这样其他节点即可知道该节点在切换到主信道的时间信息,而用信息更新序列来表示主信道的新鲜程度,这种方法计算简单,且易于实现;通过信息更新单元13及时更新本地存储的第二节点所在主信道的新鲜度信息。设备实施例三一种网络节点,结构示意图如图7所示,包括:第一请求命令接收单元30,用于接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;第一比较添加单元31,用于将所述第一请求命令接收单元30接收的第二节点的地址信息和该网路节点的地址信息比较;若相匹配,则将该网络节点所在主信道的信息和/或所述自身当前所在信道的信息添加到信道信息回复命令;第一回复命令发送单元32,用于将所述第一比较添加单元31添加后的信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的所述网络节点所在主信道的信息和/或所述网路节点当前所在信道的信息进行数据的发送。可以理解,本实施例中的网络节点还可以包括:第一判断添加单元33,用于当所述第一比较添加单元31比较的所述第二节点的地址信息和该网路节点的地址信息不相匹配,判断本地储存的节点信息中是否包含所述第二节点的信息,若是,将所述第二节点所在主信道的信息添加到信道信息回复命令中。本实施例的网络节点中,第一请求命令接收单元30接收到其他节点主动发送信道信息请求命令给第二节点或其他节点,请求获得第二节点所在信道的信息,当第一比较添加单元31比较的结果是该网络节点即为第二节点,将该网路节点所在主信道的信息和/或所述网络节点当前所在信道的信息添加到信道信息回复命令,并由第一回复命令发送单元32发送个给第一节点。这样当第一节点在发送数据给第二节点的过程中,如果出现第二节点切换到其他信道而没有及时通知第一节点等情况时,第一节点可以主动请求获得第二节点的信道信息,从而提高数据传输的时效性。设备实施例四一种网络节点,本实施例的网络节点是在设备实施例三中网络节点的基础上增加了第一接收处理单元34、添加单元35和第二更新发送单元36,结构示意图如图8所示,包括:所述第一接收处理单元34,用于当所述第一请求接收单元30接收的信道信息请求命令中还包括第一节点所在主信道的信息,储存所述第一节点所在主信道的信息,或更新本地储存的第一节点所在主信道的信息;所述添加单元35,用于将所述第二节点所在主信道的新鲜度信息添加到所述信道信息回复命令中,所述新鲜度信息包括信息更新序列或时间;所述第二更新发送单元36,用于更新该网络节点所在主信道的信息更新序列;将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。本实施例中的网络节点,通过第二更新发送单元36将该网络节点在主信道的新鲜度信息即信息更新序列,通过多信道通知消息通知给其他节点,这样其他节点即可知道该节点在切换到主信道的时间信息,而用信息更新序列来表示主信道的新鲜程度,这种方法计算简单,且易于实现;通过第一接收处理单元34及时更新本地存储的第一节点所在主信道的信息。设备实施例五一种网络节点,结构示意图如图9所示,包括:第二请求命令接收单元50,用于接收第一节点发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;第二比较单元51,用于将所述第二请求命令接收单元50接收的信道信息请求命令中的第二节点的地址信息和该网络节点的地址信息比较;第二判断添加单元52,用于当所述第二比较单元51比较的所述第二节点的地址信息和所述网络节点的地址信息不相匹配,判断本地储存的节点信息中是否包含所述第二节点的信息,若是,将所述第二节点所在主信道的信息添加到信道信息回复命令中;第二回复命令发送单元53,用于将所述第二判断添加单元52添加后的信道信息回复命令发送给所述第一节点,以便所述第一节点根据其中包含的所述网络节点所在主信道的信息和/或所述网路节点当前所在信道的信息进行数据的发送。可以理解,在一个具体的实施例中,网络节点还可以包括:第二接收处理单元54,用于当所述第二请求接收单元50接收的信道信息请求命令中还包括第一节点所在主信道的信息,储存所述第一节点所在主信道的信息,或更新本地储存的第一节点所在主信道的信息。第二添加单元55,用于将所述第二节点所在主信道的新鲜度信息添加到所述信道信息回复命令中,所述新鲜度信息包括信息更新序列或时间;第三更新发送单元56,用于更新该网络节点所在主信道的信息更新序列;将更新后的信息更新序列添加到多信道通知命令中,并发送所述多信道通知命令。系统实施例一种数据发送系统,结构示意图如图10所示,包括:发送节点100和接收节点200;所述发送节点100,用于发送信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;接收信道信息回复命令,所述信道信息回复命令中包括所述第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息;根据所述信道信息回复命令中第二节点所在主信道的信息和/或所述第二节点当前所在信道的信息,发送数据给所述第二节点。所述接收节点200,用于接收发送节点100发送的信道信息请求命令,所述信道信息请求命令中包括第二节点的地址信息,请求获得所述第二节点所在主信道的信息;将所述第二节点的地址信息和所述接收节点200的地址信息比较,若相匹配,则将所述接收节点200所在主信道的信息和/或所述接收节点200当前所在信道的信息添加到信道信息回复命令;将所述信道信息回复命令发送给所述发送节点100。具体地,本发明实施例的数据发送系统包括第一节点以及以通信的方式与所述第一节点连接的第二节点,其中第一节点为上述的发送节点100,第二节点为上述的接收节点200。本发明实施例的数据发送方法是第一节点主动发送信道信息请求命令给第二节点或其他节点,请求获得第二节点所在信道的信息,当接收到包含有第二节点所在信道的信息和/或所述第二节点当前所在信道的信息的,信道信息回复命令,第一节点按照接收到的第二节点所在信道的信息发送数据给第二节点。这样当第一节点在发送数据给第二节点的过程中,如果出现第二节点切换到其他信道而没有及时通知第一节点等情况时,第一节点可以主动请求获得第二节点的信道信息,和现有技术中第二节点的信道信息是由第二节点通知给第一节点相比,能减少在第一节点发送数据第一节点的过程中,由于第二节点未收到第二节点的确认包而等待的时间,提高数据传输的时效性。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。以上对本发明实施例所提供的数据发送方法、系统及设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。